{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#听说notebook可以写mark down\n",
    "那么就在这里写点学python的日志吧\n",
    "\n",
    "现在说来，已经学了大约有一个多月时间了。\n",
    "昨天接触到pandas，一下就跑到了notebook这里。\n",
    "\n",
    "昨天很兴奋，一下子作出一个一直想做的东西，就是一个简单的统计文本里各种词组的app。\n",
    "没想到一下子就做出来了，凭着感觉。\n",
    "\n",
    "忽然发现了python的一个特别强大的地方，就是真能随着心很快的实现出来。\n",
    "我没学过其他语言，但感觉python绝对属于快的。\n",
    "\n",
    "这对于我这种纯门外汉有很大帮助。\n",
    "\n",
    "下面是这个程序的最初样子，倒是弄显示中文弄了半天，程序本身很快就弄好了。\n",
    "还是不熟练，开始的时候连个函数都不是，最后给弄成了一个类。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#学习数据和绘制数据图\n",
    "#做了一个简单的统计一个文本里各种词组数量的app\n",
    "#后续会添加各种其他功能\n",
    "#主要是为了以后研究伤寒和各种古代数据做准备\n",
    "\n",
    "import re\n",
    "import sys\n",
    "import pandas as pd\n",
    "import matplotlib as mpl\n",
    "import  matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from matplotlib.font_manager import FontManager\n",
    "from pylab import mpl\n",
    "import subprocess\n",
    "\n",
    "plt.rcParams['figure.figsize'] = [18,13]#设置在网页上显示的大小\n",
    "\n",
    "font2 = {'family' : 'Times New Roman',\n",
    "'weight' : 'normal',\n",
    "'size'   : 20,\n",
    "}\n",
    "\n",
    "\n",
    "#这里填写需要统计的词，写在一个组里，任意多个\n",
    "shanghan1 =['桂枝汤','四逆汤','汤','桂枝','发汗','悪寒','吐','死','伤寒','热','寒','下利','小建中汤']\n",
    "yuanjue1 = ['我','佛','幻','眾生','一切眾生從無始來']\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "class Find_word():\n",
    "    def __init__(self,w_list,w_file):\n",
    "        self.file = w_file\n",
    "        with open(self.file) as f:\n",
    "            self.data = f.readlines()\n",
    "        self.list = w_list\n",
    "        self.s_list = []\n",
    "        \n",
    "\n",
    "    def count(self,p):\n",
    "        self.x = []\n",
    "        self.a = []\n",
    "        self.p = p\n",
    "        self.n = 0\n",
    "\n",
    "        for line in self.data:\n",
    "                self.x = re.findall(self.p,line)\n",
    "                if self.p in self.x:\n",
    "                    self.a.append(self.x)\n",
    "\n",
    "        for i in self.a:\n",
    "            if self.p in i:\n",
    "                for j in i:\n",
    "                     if self.p in j:\n",
    "                        self.n += 1\n",
    "        return self.n\n",
    "        \n",
    "\n",
    "    def show(self):\n",
    "        plt.xlabel('目标词汇词')\n",
    "        plt.title('数据分析')\n",
    "        plt.xticks(fontsize=20)#x轴的字体大小\n",
    "\n",
    "        for i in self.list:\n",
    "            self.s_list.append(self.count(i))\n",
    "            plt.text(i,self.count(i)+3,self.count(i),font2)\n",
    "\n",
    "        plt.bar(self.list,self.s_list)\n",
    "        plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBMAAAMJCAYAAABRLH4uAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xu413Wd7/3Xh4MKSowihjooijlUTjaxsgSUlOKeNYjaTJdQ92RdmtgllpbtpL3j1m0e0+kKHWeUMCbHNGpuk8wm3CMiibIbD7Fvj2iK5KEdeUgkdcnie/+xVmuD4OGjsBaHx+O61tVan+/n91vvH//k9eT7/VCapgkAAADAm9WrpwcAAAAAtixiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAMA2pJQy4FU/71xK6b2Bff93KWWnzu933cD1d7yJ37XD61z7QCnlwNe4Vl49JwCweRETAGAbUErZo/Pbc0spO5VShpdS+iQ5KcnYDbzkg03TvND5/TWllAVrfyW58zUixIxSyl93/nhRKaXva4z03iR/1vmavUopE0opk0opX00yM8nUt/ZJAYDu0KenBwAAusX4UsoDSf6QpD3JcUkuTDKwaZr5SVJK6dU0zZrO/as7Y0PvJL9qmua/rP1mpZQZTdO0v2pt9yTvTvKlzqV7k2yf5JUNzPNKkpdLKX+eZFCS4Un+ca3fDwBsxsQEANjKlVJ6JflhkiGdS4OT/DwdUaGUUj6a5M+T7F9KmZtkSpL3Jbk0ye1JDuy8G2Ft/3sDv+r/SXLyWkHgJ0mOTzJjrVkOTHJx5wwvJ9ktyaeSrBASAGDLISYAwNZvnyRXp+Oxgt2SjOlcfzjJN5umWVpK+XqSy5qmWZ7kf5ZSLmqa5itJUkoZ0TTNtM7HGr7eNM1/L6WMW/sXlFIOTXJ30zRL/7TWNM0TpZR3l1Le1zTN/+pc/l9J/q903BVxTdM0t5VSDk7S9qr3+3CS/9k0TbNx/ygAgI1BTACArVzTNL8upXw2ych03HGwKMlTSQ5IMiLJ0iSDO0NCl85zFvZP0rfzfdpLKTt3Xn6mlLJD0zQvlVIGJRnXNM0Zr3p9/3TEgx+UUs5I8v82TbOmlPJy5ywDSykr0/EoxBmllC8kGZrkd+m4a+GsJPM38h8HALARiAkAsJUrpQxLsjrJ/Un2bJpmbuedBVcm+WTntra19pckuyeZnOTbSWaVUkZ2Xt6vlPL+zu+/XUr5jyR/m2TvUsotSfZM8mySVZ179k1yTJJzkjyR5LYko5PMTXJHkv+eZFaSU5qmubmU8pUkP2ia5vGN+ocAAGxUYgIAbP32T3J6Og46vKmU8r0kK5umuamU0ruUMibJXUlSShmf5JAkq5um+VbnoYqzk1zdNM2jpZRvJ/kv6biT4clSyl5N03wnyXc6X/+NdDwu8UTnzzObplmcZO3HIt6V5LF0BIcvdf6+uzf1HwIAsPH4pyEBYOt3S5KjklzaNM1pSe5MclHntRs6v/9xkjRNc2PTNNOTrOi8PirJfyb5WechjO9P8j/ScVdDXv1oRJIha4WE7ZO8uPbFUkpLkn//089N0zyWjsctHtkYHxQA6B5iAgBs5ZqmeTnJgHT8U4wT0vGow7LOyyPS8a86HPgaL29Jx7kFNzRN85E/fSX51as3dp6x8Nu1lgam4/yDtT3YNM1vk5TO1/ROsmPTNC8GANhieMwBALYBTdM8VUr5SZLz03Hw4XuSrElyaJIjktxYSjktyf+X5MNJenUerLi8aZrVpZS/7ryr4E/uWvv9SynvSMfjD2eUUvZJR7wYm+S+V82xsvPb3p3/OynJP621pXcAgM2emAAA24BSymFJ9kpyapJ+6Tj48D+bpjmn8/oJSb6b5IR03KmwT5LD03kWQpK5TdP8t7Xe75y1vj8kybAkX2ua5qUkz5dSjkxHpDjyNUZq0nHI40NN09y/1vrqzt8PAGzGin++GQC2bqWU3dJx4OKLnT+/N8lzfzrb4HVe16tpmjVvsKd/kjWdEaF2rj5N06yufR0A0PPEBAAAAKCKAxgBAACAKmICAAAAUKXbD2Dcddddm2HDhnX3rwUAAADewJ133vn7pmkGv9G+bo8Jw4YNyx133NHdvxYAAAB4A6WUx97MPo85AAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQRE2Ar1TRNLr/88hxwwAHp169fhg8fnm9961tpmmaD+9esWZMf/vCH+dSnPpXTTz89V1111Xp7HnrooUydOjUTJkzY1OMDAACbsT49PQCwaVx44YW5//77c9lll+WVV17JN7/5zZx22ml5/PHH861vfWudvU8++WQ++clPZtCgQZk1a1Z22WWX9d7vxhtvzL//+7/nn/7pnzJ27Nju+hgAAMBmqLzW31JuKi0tLc0dd9zRrb8TtjVtbW35r//1v+aiiy7qWmtvb89BBx2UX/3qV3niiScyZMiQJMkTTzyRMWPGpKWlJXPmzEmvXq9/w9LgwYPz3ve+NwsWLNiUHwEAAOgBpZQ7m6ZpeaN9HnOArdDzzz+fr371q+us9e7dO8ccc0zWrFmTZcuWJUlWr16diRMnZvXq1fnud7/7hiEhSfr3778pRgYAALYgHnOArdCuu+66wfX+/funV69e2XfffZMk//zP/5y77747M2bMyIABA97Ue5dSNtqcAADAlsmdCbAN+cUvfpHW1tbstttuSZLLL788vXr1yi677JIpU6bkoIMOyvjx43P99df38KQAAMDmTEyAbcRjjz2WG264oeschaeeeir33ntvhg4dmmHDhmXmzJmZP39++vfvnyOPPDL/+q//2sMTAwAAmysxAbYRJ510Us4999yMGDEiSfL4448nSQ499NCMGTMmSbLTTjvlsssuy3bbbZdp06b12KwAAMDmTUyAbcB5552XIUOG5JRTTula69On48iUd7zjHevsHTJkSD784Q/nySefzDPPPNOtcwIAAFsGBzDCVu6aa67JL3/5y/zoRz9aZ/1d73pXtt9++yxfvny91+y+++7ZfvvtM3DgwO4aEwAA2IK4MwG2Ytdee22uvPLK/OAHP+i6EyHpOC9hxx13zDHHHJObb745zz777Dqve+SRRzJhwoT07t17vfdsmiZN02zy2QEAgM2XmABbqTlz5mT69Ok5++yz8+ijj+aBBx7Ivffem+uuuy5f//rXU0rJN7/5zQwaNChf/OIX097enqTjToZHHnkkF1544Xrv2dbWlueeey6///3vBQUAANiGecwBtkLf//73c+yxx2bNmjVpaWlZ7/o111yTpON8hFtvvTWnnXZaRo4cmZ122invfOc7c/vtt2ffffdd5zXf/va3M2PGjDz//PO577778p73vCfnnntuPv7xj3fLZwIAADYfpbv/drGlpaW54447uvV3AgAAAG+slHJn0zTr/43kq3jMAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACq9OnpAWBrN2zaDT09wia37PwJPT0CAADQjdyZAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoMpbjgmllB1KKeM25jAAAADA5q/PG20opQxM8oUkuyT5Y5IrkpyR5KUk/9q5Z3ySVUn2SDK3aZq2TTUwAAAA0LPeMCYkeVeSc5qmaUopP05HMDi1aZrnkqSU8s4kBzZNc2EpZf8kxyW5bJNNDAAAAPSoN3zMoWmaOzpDQu8kv09SklxQSrmxlHJokg8n+V3n9uVJxr76PUopU0opd5RS7lixYsVGHB8AAADobjVnJnwyybSmaW5tmubEJB9P8pV0xIXSuafp/FpH0zQzm6ZpaZqmZfDgwW93ZgAAAKAHvamYUEqZmI6zEJ4upeycJE3TrEryaJLb0/HoQ5LslWThphgUAAAA2Dy8mQMYv5pkRJKxpZTdkvy6lLI0yctJ/qlpmv9dSvlVKeXgJEOSfHeTTgwAAAD0qDeMCU3TfPNN7PnZxhkHAAAA2NzVnJkAAAAAICYAAAAAdcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAABshpqmyeWXX54DDjgg/fr1y/Dhw/Otb30rTdOss2/VqlU56aST8qEPfSgHHXRQzjjjjLS3t7/uez/88MMZOHBg/uVf/mUTfgJgayYmAADAZujCCy/M4sWLc9lll+VnP/tZ9t9//5x22mk57bTTuva0tbVl/PjxWbVqVRYvXpxFixbllltuyYknnvia7/vSSy/lmGOOyfPPP98dHwPYSokJAACwmWlra8vvfve7zJ49O2PGjMlhhx2Wn/70p/nABz6QGTNm5Le//W2S5Nvf/nYWL16ciy66KKWU9O3bN2eccUauuOKK/Md//McG3/uUU07JYYcd1p0fB9gKiQkAALCZef755/PVr351nbXevXvnmGOOyZo1a7Js2bIkyaWXXpr3v//9GTx4cNe+UaNGZfvtt8+ll1663vteddVV2XnnnTNx4sRNOj+w9RMTAABgM7Prrrtmt912W2+9f//+6dWrV/bdd9/cf//9Wb58efbee+919my//fbZZ599csstt6xzvsJ9992Xq6++Ouecc84mnx/Y+okJAACwhfjFL36R1tbW7Lbbbl13J+y6667r7Rs4cGCeffbZPPfcc0k6DmmcOnVqrrjiivTu3bs7Rwa2Un16egAAAOCNPfbYY7nhhhty5513JkmeeeaZJBuOCX36dPxn/osvvpidd945U6dOzfTp07P77rt338DAVs2dCQAAsAU46aSTcu6552bEiBFJkn79+iXpOKzx1V566aUkyS677JLLL788++23Xw4//PDuGxbY6okJAACwmTvvvPMyZMiQnHLKKV1rw4cPT5I8/fTT6+1/+umnM3jw4Oywww654IILcuaZZ6ZPnz5dX+PGjUuSHH/88enTp08ee+yx7vkgwFbDYw4AALAZu+aaa/LLX/4yP/rRj9ZZ/8u//MvstttueeCBB9ZZf+mll/Kb3/wmkyZNSpL8/Oc/X+/uhf/8z//Mcccdl7POOitHHXVU9thjj037IYCtjpgAAACbqWuvvTZXXnllrrvuuq5zEJLkqaeeypAhQ/L5z38+55xzTp555pnssssuSZKFCxemvb09J554YpJk//33X+99f//73ydJ9txzzxxwwAHd8EmArY3HHAAAYDM0Z86cTJ8+PWeffXYeffTRPPDAA7n33ntz3XXX5etf/3pKKZk2bVpGjBiRCy64IEnHv9pwxhln5POf/3wOPfTQHv4EwNbMnQkAALCZ+f73v59jjz02a9asSUtLy3rXr7nmmiQdhzDOnz8/J598cg4++OCsWbMmkyZNype+9KXuHhnYxpSmabr1F7a0tDR33HFHt/5O6EnDpt3Q0yNscsvOn9DTIwAAABtBKeXOpmnWr5iv4jEHAAAAoIqYAAAAAFQREwAAgC3Sk08+ma997Wv5wAc+sMHrixYtyrhx4zJ69OiMGDEiU6dOzcqVK9fbd8stt2TcuHH5yEc+kkMOOSRHHXVU7rnnnk09PmzRHMAIAABscW6//fbMmzcvF110Ufbcc8/1rt96661pbW3NvHnzMmrUqKxcuTKtra0ZP358Fi5cmL59+3btO/roozNv3rwcdNBBSZJZs2Zl7Nixueuuu7L33nt36+eCLYU7EwAAgC3OwQcfnDPPPDPvf//7N3j95JNPzoQJEzJq1KgkyYABAzJjxowsXrw4F198cde+yy67LIcffnhXSEiSz33uc2lvb89PfvKTTfshYAsmJgAAAFus/v37r7e2fPnyLFmyJMOGDVtnfeTIkdljjz0ye/bsrrW2trbcc889eeWVV7rWVq9enfb29uy3336bbG7Y0okJAADAFquUst7aihUrkiRPPfXUeteGDRuW++67L+3t7UmSE044IUuXLs2JJ57YtTZz5sxMmjQpra2tm3By2LI5MwEAAF7HsGk39PQIm9yy8yf09Agb1f77758+ffpkwYIFaWtry3bbbdd1bdWqVWmaJm1tbenXr18+9rGP5ZJLLskpp5ySxx57LMcee2x22mmnzJo1qwc/AWz+3JkAAABsVQYMGJBp06Zl+fLlOf3009Pe3p729vbMnTs3Dz/8cAYNGpR+/fp17T/55JMzffr0DBkyJJ/97Gdz1113ZfXq1T34CWDz584EAABgq3PWWWdl6NChueqqqzJ27NgceOCBGTp0aFatWrXe4wunn356jjjiiJx55pn54Ac/mC9/+ctZtmxZrr322vTq5e9fYUPEBAAAYKtTSsmUKVMyZcqUrrXJkycnSU466aSute985zu5+eabc8EFFyRJTj311PTq1SunnHJKZs+eneOPP757B4cthMwGAABs9ebPn585c+bkuOOOy2GHHda1fvnll2f48OHr7P3iF7+YlpaWXH/99d09JmwxxAQAAGCL1TRNmqZ53T0PPvhgJk+enIMPPjiXXnrpOtd23HHHLF26dL3X7LnnnhkwYMBGnRW2JmICAACwRWqaJitWrMgf/vCHtLW1rXf95ZdfzpVXXpnRo0fnyCOPzPz587PDDjuss2fatGm5++67M3PmzK6122+/PQsXLsypp566yT8DbKmcmQAAAGxx5syZkzPOOCMPPvhgkmTEiBH5yle+0nUewqhRo/LCCy9kxIgRue666zJmzJgNvk9ra2vmzp2bs88+O5dcckl233339O/fPwsWLMj73ve+bvs8sKV53ZhQShmY5AtJdknyxyTfTfIXSVYneappmntKKWPScYfD4CQ3NU3z3KYdGQAA2NZNmjQpkyZNes3rt91225t+r4kTJ2bixIkbYyzYZrzRYw7vSnJO0zRfTvLeJF9omubfm6b5H0mOL6Vsn6S1aZqFSX6e5LRNOy4AAADQ0143JjRNc0fTNE0ppXeS3yfZe63L70wyIklb595VSQ7Y0PuUUqaUUu4opdyxYsWKjTM5AAAA0CPe7AGMn0wyLUlZa60k6feqtQ1qmmZm0zQtTdO0DB48uH5KAAAAYLPxhjGhlDIxydymaZ5O8vhal55McneSHTv39U9yz6YYEgAAANh8vNEBjF9Nx6MMY0spuyW5opRyZJLnk8xumublUsr1pZRDk/xZkn/Y5BMDAAAAPep1Y0LTNN98ozfoPHwRAAAA2Ea8bkwAAAB4LcOm3dDTI3SLZedP6OkRYLPzZg9gBAAAAEgiJgAAAACVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQJW3HBNKKX1LKeM35jAAAADA5u9NxYRSygdKKT/v/L5XKeVHSS5JskPn2phSyqGllL8rpfzZphsXAAAA6Gl93mhDKaVfkufXWhqY5JymaX7VeX37JK1N0/y3UsqOSaYlmb4phgUAAAB63hvGhKZpXkzycCnlT0sDknyplPLOJLOSPJSkrXPvqlLKAa9+j1LKlCRTkmSvvfbaOJMDAAAAPaL6zISmaZY3TfOZJBOSnJikdH693mtmNk3T0jRNy+DBg9/apAAAAMBm4S0fwNg0TXuS+zu/dkySUkr/JPdsnNEAAACAzdEbPuaQJKWUdyfZq5Syb5IxSfomeTLJ95umebmUcn0p5dAkf5bkHzbZtAAAAECPe1MxoWma+5O8p/PHRzZwfeHGHAoAAADYfL3lxxwAAACAbZOYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAPSoRYsWZdy4cRk9enRGjBiRqVOnZuXKlevsueWWWzJu3Lh85CMfySGHHJKjjjoq99xzTw9NDECfnh4AAIBt16233prW1tbMmzcvo0aNysqVK9Pa2prx48dn4cKF6du3b2699dYcffTRmTdvXg466KAkyaxZszJ27Njcdddd2XvvvXv4UwBse9yZAABAjzn55JMzYcKEjBo1KkkyYMCAzJgxI4sXL87FF1+cJLnsssty+OGHd4WEJPnc5z6X9vb2/OQnP+mRuQG2dWICAAA9Yvny5VmyZEmGDRu2zvrIkSOzxx57ZPbs2UmStra23HPPPXnllVe69qxevTrt7e3Zb7/9unNkADqJCQAA9IgVK1YkSZ566qn1rg0bNiz33Xdf2tvbc8IJJ2Tp0qU58cQT097eniSZOXNmJk2alNbW1m6dGYAOzkwAAKBH7L///unTp08WLFiQtra2bLfddl1mV1AdAAAgAElEQVTXVq1alaZp0tbWlo997GO55JJLcsopp+Sxxx7Lsccem5122imzZs3qwekBtm3uTAAAoEcMGDAg06ZNy/Lly3P66aenvb097e3tmTt3bh5++OEMGjQo/fr1S9JxtsL06dMzZMiQfPazn81dd92V1atX9/AnANh2uTMBAIAec9ZZZ2Xo0KG56qqrMnbs2Bx44IEZOnRoVq1atc4jDKeffnqOOOKInHnmmfngBz+YL3/5y1m2bFmuvfba9Orl78cAupuYAABAjymlZMqUKZkyZUrX2uTJk5MkJ510UpLkO9/5Tm6++eZccMEFSZJTTz01vXr1yimnnJLZs2fn+OOP7/7BAbZxMi4AAJuN+fPnZ86cOTnuuONy2GGHJUkuv/zyDB8+fJ19X/ziF9PS0pLrr7++J8YE2OaJCQAAbBYefPDBTJ48OQcffHAuvfTSrvUdd9wxS5cuXW//nnvumQEDBnTniAB0EhMAAOhRL7/8cq688sqMHj06Rx55ZObPn58ddtih6/q0adNy9913Z+bMmV1rt99+exYuXJhTTz21J0YG2OY5MwEAgB4zatSovPDCCxkxYkSuu+66jBkzZr09ra2tmTt3bs4+++xccskl2X333dO/f/8sWLAg73vf+3pgagDeVEwopXwgyblN0/x1KWVQkkOSPJekrWma20opBybZNUn/JEuaplm+ySYGAGCrcdttt72pfRMnTszEiRM38TQAvFlv+JhDKaVfkufXWvpKkhuaplmQ5OhSSp8kxzZNc1PTNNcnca8ZAAAAbMXeMCY0TfNi0zQPr7X0F03TvNL5/Zok702y81rX93n1e5RSppRS7iil3LFixYq3NTAAAADQs97KAYwbek15vRc0TTOzaZqWpmlaBg8e/BZ+JQAAALC5eCsx4YHORx+Sjohwb5KVa11/5G1PBQAAAGy23uwBjO9OslcpZd8kFyY5opTyZJIfN02zupQyu5TysSS9k8zYdOMCAAAAPe1NxYSmae5P8p61ln70qut3b8yhAAAAgM3Xm4oJAABs3YZNu6GnR9jklp0/oadHANhqvJUzEwAAAIBtmJgAAAAAVBETAFjHkiVLcsQRR2Ts2LEZO3ZsPvrRj2bRokXr7Fm0aFHGjRuX0aNHZ8SIEZk6dWpWrlz5Gu8IAMDWxpkJAHR56KGHcthhh+V73/teJk6cmCS58cYb87GPfSwLFy5MS0tLbr311rS2tmbevHkZNWpUVq5cmdbW1owfPz4LFy5M3759e/hTAACwqbkzAYAu3/ve97LPPvt0hYQkGT9+fPbff/9cc801SZKTTz45EyZMyKhRo5IkAwYMyIwZM7J48eJcfPHFPTI3AADdS0wAoEtbW1seffTR/OEPf1hn/eWXX85+++2X5cuXZ8mSJRk2bNg610eOHJk99tgjs2fP7sZpAQDoKWICAF0+85nPZNWqVZk0aVL++Mc/Jkl+9rOfZdiwYTn++OOzYsWKJMlTTz213muHDRuW++67L+3t7d06MwAA3U9MAKDLe9/73vzgBz/IggULMmrUqFx11VV59NFH89Of/jTbbbdd9t9///Tp0ycLFixIW1vbOq9dtWpVmqZZbx0AgK2PmADAOj7+8Y/nH/7hH9LS0pJjjz02CxcuzEsvvZSk43yEadOmZfny5Tn99NPT3t6e9vb2zJ07Nw8//HAGDRqUfv369fAnAABgU/OvOQCwjksuuSS77rprZs2alfHjx+fTn/50Hnvssdx0003Zcccdc9ZZZ2Xo0KG56qqrMnbs2Bx44IEZOnRoVq1aldbW1p4eHwCAbiAmANDlxhtvzHnnnZfHH388SXLMMcdku+22y9/+7d/m/PPPzze+8Y2UUjJlypRMmTKl63WTJ09Okpx00kk9MjcAAN3LYw4AdJk5c2b23nvv9Or1f/7v4eijj87f/d3f5frrr9/ga+bPn585c+bkuOOOy2GHHdZdowIA0IPEBAC67LjjjnnkkUfW+xcZ9txzzwwYMGC9/Q8++GAmT56cgw8+OJdeeml3jQkAQA8TEwDo8uUvfznPPfdczjjjjDRNkyRZunRp5syZk9NPP71r38svv5wrr7wyo0ePzpFHHpn58+dnhx126KmxAQDoZs5MAKDLgQcemJtvvjlf//rX8+53vztDhw5N7969M2fOnBx66KFJklGjRuWFF17IiBEjct1112XMmDE9PDUAAN1NTABgHaNGjcr8+fNf8/ptt93WjdMAALA58pgDAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFTp09MDALC+YdNu6OkRusWy8yf09AgAALwF7kwAAAAAqogJAAAAQBUxAQAAAKgiJgAAAABVxAQAAACgipgAAAAAVBETAAAAgCpiAgAAAFBFTAAAAACqiAkAAABAFTEBAAAAqCImAAAAAFXEBAAAAKCKmAAAAABUERMAAACAKmICAAAAUEVMAAAAAKqICQAAAEAVMQEAAACoIiYAAAAAVcQEAAAAoIqYAAAAAFQREwAAAIAqYgIAAABQRUwAAAAAqogJAAAAQBUxAQAAAKgiJgAAb9t9992XUsoGv3r16pWnn346SdLe3p7p06fngx/8YD70oQ/lC1/4Qv74xz/28PQAQK0+PT0AALDlmzVrVvr06ZM///M/z/bbb9+1/swzz+Q973lPBg0alCSZPHlynn322SxatCh9+/bN3//93+foo4/OvHnzUkrpqfEBgEpiAgDwtrS1teXxxx/PE088kd12222da5MnT87hhx+eJPnhD3+Yf/u3f8udd96Z7bbbLkly9tlnZ999980VV1yRz33uc90+OwDw1njMAQB4W1atWpXLLrtsvZDwwgsv5Oc//3k+8YlPJEn+8R//MYMGDcpf/dVfde3ZZ599svfee+fSSy/t1pkBgLdHTAAA3padd945u+yyy3rrP/7xj3PIIYdkl112ycqVK3Pbbbdlr732Wu9xhne/+91ZsmRJnn322e4aGQB4m8QEAGCT+P73v59PfepTSZLHH3887e3t2XXXXdfbN3DgwDRNk2XLlnXzhADAWyUmAAAb3e9+97ssXrw4Rx11VJKOgxiTbDAm9OnTcYTTiy++2H0DAgBvi5gAAGx0c+bMyYQJE9K/f/8kSb9+/ZJ0HNb4ai+99FKSbPBRCQBg8yQmAAAb3dqPOCTJ8OHDkyRPP/30enuffvrp9O7dO3vssUe3zQcAvD1iAgCwUf3617/Oww8/nPHjx3etDRw4MCNHjswD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/aekdyR1i23f08xauPuWxAYzO1/S+ZK077777sSvBAAAAAAA+VbrORPc/Tx3P0XSLpIststSlL3T3fu5e78OHTrU9lcCAAAAAIACsDOZCQnvSGode/1BPCsBAAAAAAAUl1oFE8ysv6Shkl6W9Lakh81suKRNku6tu+oBAAAAAIBCU6tggru/rBBIiFuz89UBAAAAAACFrtZzJgAAAAAAgNJEMAEAAAAAAGSFYAIAAAAAAMgKwQQAAAAAAJAVggkAAAAAACArBBMAAAAAAEBWCCYAAAAAAICsEEwAAAAAAABZIZgAAAAAAACyQjABAAAAAABkhWACAAAAAADICsEEAAAAAACQFYIJAAAAAAAgKwQTAAAAAABAVggmAAAAAACArBBMAAAAAAAAWSGYAAAAAAAAskIwAQAAAAAAZIVgAgAAAAAAyArBBAAAAAAAkBWCCQAAAAAAICsEEwAAAAAAQFYIJgAAAAAAgKwQTAAAAAAAAFkhmAAAAAAAALJCMAEAAAAAAGSFYEIDcP/996tv375q3bq1+vTpo7KysmplNm/erLFjx2rAgAHq37+/Jk2apG3btuWhtgAAAACAYkcwocCVlZXp1Vdf1cyZMzV79mx99dVXGjNmjB599NHKMuXl5Ro2bJg2b96s5cuXa9myZXr++ed1wQUX5LHmAAAAAIBi1STfFUDNdt11V02dOrXydefOnXXIIYfo6aef1vDhwyVJN998s5YvX65HHnlEZqamTZtq0qRJOvroo3Xqqadq6NCh+ao+AAAAAKAIkZlQ4E466aQqr3v37i1JGjBgQOW22267TQcffLA6dOhQuW3QoEFq3ry5brvtttxUFAAAAABQMggmNDCLFi3SyJEjNXr0aEnSG2+8offee09dunSpUq558+bq1q2bnn/+ebl7PqoKAAAAAChSBBMakCeeeEJjx47VqaeeKjOTJK1du1aS1L59+2rld999d/3zn//Uxo0bc1lNAAAAAECRI5jQAFRUVGj69OmaPHmy3n//fY0YMUJTpkyRJH366aeSUgcTmjQJU2L861//yl1lAQAAAABFj2BCA9CoUSONGzdOL730kp566im1atVKkyZN0saNG9WyZUtJYUWHZFu2bJEk7bHHHjmtLwAAAACguBFMaGCGDRumSy65RFu2bNFbb72lHj16SJI2bNhQreyGDRvUoUMHtWjR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\n",
      "text/plain": [
       "<Figure size 1296x936 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBMAAAMJCAYAAABRLH4uAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3X20XXV95/HPj1weBFEBg3UIIdGA8mCjcMelSEBFUCeCOKChjkIxhbpkOlOoLbqkBUGFKjpVqIumKDJLIbFriorYSA1irA/VUEtHofKoIqhEHCJEQwR/88c90ksgJt+bm3sv4fVa666cs/dvn/3N/YMV3mvvfVrvPQAAAAAba6vJHgAAAAB4bBETAAAAgBIxAQAAACgREwAAAIASMQEAAAAoERMA4HGktbbjOu93aq1Ne5R1/6219sTB66c+yv4nbcS5tvst+/Zvrc1dz7627pwAwNQiJgDA40Br7T8NXr6ntfbE1tozW2tDSd6S5JBHOeQ/997vG7y+rLV2zeifJNeuJ0J8sLX2isHb81prW69npH2TPGVwzMzW2vzW2oLW2p8lWZTk5LH9TQGAiTA02QMAABPi8NbavydZleTBJG9K8r4kT+69X50krbWteu+/Hqx/YBAbpiX51977n47+sNbaB3vvD66z7elJ9k5yymDTd5Jsm+RXjzLPr5Lc31qbkWSXJM9McsGo8wMAU5iYAABbuNbaVkk+meR3BpumJ1makajQWmsvSzIjyV6ttU8nOSnJ7yb56yRfSzJ3cDXCaD95lFP9RZL/PioIfCbJwiQfHDXL3CQfGsxwf5Jdk7w+yUohAQAeO8QEANjyzU5yaUZuK9g1yUGD7TcneW/v/cbW2ulJLuy9/yDJP7fWzuu9vzVJWmvP7r2/bXBbw+m993e21g4dfYLW2sFJvtV7v/E323rvd7TW9m6t/W7v/d8Gm/8tycszclXEZb33r7bWXphk7Tqf94Ik/9x77+P7qwAAxoOYAABbuN77La21309yQEauOPhKkh8l2S/Js5PcmGT6ICQ8ZPCchb2SbD34nAdbazsNdv+stbZd731Na22XJIf23s9Y5/jtMxIPFrfWzkjyf3rvv26t3T+Y5cmttXszcivEGa21P0qye5K7MnLVwllJrh7nXwcAMA7EBADYwrXWZiV5IMkNSXbrvX96cGXB/07ye4Nla0etb0menuTYJH+V5KLW2gGD3XNaa88dvP6r1toXkvzXJHu01r6UZLck/y/J6sGaZyR5XZJ3J7kjyVeTvCjJp5OsSPLOJBcl+Z+99y+21t6aZHHv/Yfj+ksAAMaVmAAAW769kpyWkQcdLmutXZLk3t77stbatNbaQUn+JUlaa4cnmZfkgd77BwYPVbw4yaW999taa3+V5E8zciXDna21mb33v03yt4Pjz87I7RJ3DN4v6r1/Pcno2yL2TPL9jASHUwbn+9bm/iUAAOPHV0MCwJbvS0leneSve+9/kuTaJOcN9l05eH15kvTer+q9/3mSlYP9Byb5ZpLPDR7C+Nwk/5iRqxqy7q0RSX5nVEjYNskvR+9srQ0n+YffvO+9fz8jt1vcOh5/UQBgYogJALCF673fn2THjHwV4/yM3OrwvcHuZ2fkWx3mrufw4Yw8t+DK3vuLf/OT5F/XXTh4xsKPR216ckaefzDad3vvP07SBsdMS7JD7/2XAQAeM9zmAACPA733H7XWPpPk3Iw8+HCfJL9OcnCSVyW5qrX2J0n+b5IXJNlq8GDFH/TeH2itvWJwVcFv/Mvoz2+tPSkjtz+c0VqbnZF4cUiS69eZ497By2mDPxck+fCoJdMCAEx5YgIAPA601l6SZGaSP07yhIw8+PCbvfd3D/afmOSjSU7MyJUKs5O8NINnIST5dO/9HaM+792jXs9LMivJ23vva5L8vLV2ZEYixZHrGaln5CGPN/Xebxi1/YHB+QGAKaz5+mYA2LK11nbNyAMXfzl4v2+Se37zbIPfctxWvfdfb2DN9kl+PYgI1bmGeu8PVI8DACafmAAAAACUeAAjAAAAUCImAAAAACViAgAAAFAy4d/m8NSnPrXPmjVrok8LAAAAbMC1117709779A2tm/CYMGvWrKxYsWKiTwsAAABsQGvt+xuzzm0OAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAALAJ7rzzzrz97W/P/vvvv8G1d999d2bOnJkzzzzzt6676qqr8sY3vjGnnnpqLrjggnGaFGD8TPi3OQAAwJbia1/7Wj7/+c/nvPPOy2677fZb1/bec9xxx+X2229f75pVq1Zl4cKF+fGPf5zFixdnxowZ4z0ywLhwZQIAAIzRC1/4wpx55pl57nOfu8G155xzTvbZZ5/17v/5z3+eQw89ND/+8Y/zhS98QUgApjQxAQAANtH222//W/d/6Utfyne+852cfPLJ613zhje8Id/97ndz2WWXZbvtthvvEQHGlZgAAACbqLW23n0/+clPcuaZZ+bCCy9c75orrrgiV1xxRU488cTsvvvum2NEgHElJgAAwGby4IMPZuHChTn//POz4447rnfd3/zN3yRJ5syZk5NPPjkHHXRQXvziF+fiiy+eqFEBSsQEAADYTM4444y89rWvzX777bfeNb33LFu2LE95ylOyxx575IILLsjVV1+dfffdN29605vyrne9awInBtg4YgIAAGwGS5cuzV133ZXjjz/+t6776U9/mjVr1uQ5z3lO5s+fn9Zattlmm3zgAx/I9OnTc/bZZ2f16tUTNDXAxhETAABgM3jve9+bj370oxkaGnroZ86cOUmSs846K0NDQ/nSl76UoaGRb2t/0pOe9LDjt91227zyla/M2rVr893vfnfC5wf4bYYmewAAANgSfeQjH3nEFQV33nlnXv7yl+fNb35z3vKWt2T27NnZYYcdMmPGjPzgBz94xGc8/elPT5LsuuuuEzIzwMYSEwAAYBP13tN7f9i22bNnP2LdE5/4xCQjcWD0cxROOOGEvOtd78pNN92UPffc86Htt956aw444IDMmDFjM00OMDZucwAAgE3Qe8/KlSuzatWqrF27dkyfcdppp+V5z3te/vAP/zBr1qxJkixfvjxLly7NBRdcMJ7jAowLMQEAAMZoyZIl2XvvvXPDDTdk1apVefazn50Pf/jD5c/ZYYcd8oUvfCF77rlnnv/852fevHk555xzsmzZsrzgBS/YDJMDbJq27uVYm9vw8HBfsWLFhJ4TAAAA2LDW2rW99+ENrXNlAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAyNNkDAAAw+Wa97crJHoEt2PfOnT/ZIwDjzJUJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlGxUTGit7d9aW7rOtje21hYMXs9trR3aWjuitTZzcwwKAAAATA0bjAmttSck+fk624aTPCNJG2w6rve+rPd+RZI/HvcpAQAAgCljgzGh9/7L3vvNv3nfWts3yf1Jvj94/+QkO406ZPZ4DwkAAABMHUNjOGZBkp8leX6SXyW5If9xhcKjaq2dlOSkJJk5010QAAAA8FhWjgm9979Iktba7ydZ03u/rrV276gltz7KMYuSLEqS4eHhPrZRAQAAgKlgo2JCa23vJDNba8/ovT8iFiS5uLV2WJJpST44ngMCAAAAU8tGxYTe+w1J9lln28dGvf7W+I4FAAAATFUb9dWQAAAAAL8hJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlGxUTWmv7t9aWDl7Pba29o7X2sdba0YNtB7XWDm6tHd1ae8rmHBgAAACYXBuMCa21JyT5+ahN2/Te353khCQntta2TfLK3vvyJEuT/MlmmRQAAACYEjYYE3rvv+y93zzq/TcHL2cm+VqSZydZO9i3Osl+635Ga+2k1tqK1tqKlStXjsvgAAAAwOQY0zMTBlcrHJbk7CRt8LNevfdFvffh3vvw9OnTx3JKAAAAYIoox4TW2vZJDu+9X5Rk+yQ3JNlh1L5vj+uEAAAAwJQytDGLWmt7J5nZWntmkncnuaO1Ni/J3CSvSHJFa+3gJE9J8v7NNSwAAAAw+TYqJvTeb0iyz+DtsY+yZPm4TQQAAABMaWN6ZgIAAADw+CUmAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUDK0MYtaa/sneU/v/RWttV2SzEtyT5K1vfevttbmJnlqku2TXNd7/8FmmxgAAACYVBu8MqG19oQkPx+16a1Jruy9X5PkqNbaUJLjeu/Leu9XJPnjzTIpAAAAMCVsMCb03n/Ze7951KZn9d5/NXj96yT7Jtlp1P7Z635Ga+2k1tqK1tqKlStXbtLAAAAAwOQayzMTHu2Y9tsO6L0v6r0P996Hp0+fPoZTAgAAAFPFWGLCvw9ufUhGIsJ3ktw7av+tmzwVAAAAMGVt7AMY904ys7X2jCTvS/Kq1tqdSS7vvT/QWru4tXZYkmlJPrj5xgUAAAAm20bFhN77DUn2GbXp79bZ/63xHAoAAACYusZymwMAAADwOCYmAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJWICAAAAUCImAAAAACViAgAAAFAiJgAAAAAlYgIAAABQIiYAAAAAJUOTPQDAlui6667LO97xjtx7771Jkq233jrvfOc786IXvai0BgAApiIxAWCc3XTTTXnJS16SSy65JEcccUSS5Kqrrsphhx2W5cuXZ3h4eKPWAADAVOU2B4Bxdskll2T27NkPRYIkOfzww7PXXnvlsssu2+g1AAAwVYkJAONs7dq1ue2227Jq1aqHbb///vszZ86cjV4DAABTlZgAMM6OP/74rF69OgsWLMgvfvGLJMnnPve5zJo1KwsXLtzoNQAAMFWJCQDjbN99983ixYtzzTXX5MADD8zHP/7x3HbbbfnsZz+bbbbZZqPXAADAVCUmAGwGr3nNa/L+978/w8PDOe6447J8+fKsWbOmvAYAAKYiMQFgMzj//POz884756KLLsrixYvzqU99KoceemhWr15dWgMAAFORmAAwzq666qqcc845WbBgQZLkda97XZYsWZJvfOMbOffcczd6DQAATFViAsA4W7RoUfbYY49stdV//Cf2qKOOytFHH50rrrhio9cAAMBUJSYAjLMddtght956ax588MGHbd9tt92y4447bvQaAACYqsQEgHF26qmn5p577skZZ5yR3nuS5MYbb8ySJUty2mmnbfQaAACYqoYmewCALc3cuXPzxS9+Maeffnr23nvv7L777pk2bVqWLFmSgw8+eKPXAADAVCUmAGwGBx54YK6++upNXgMAAFOR2xwAAACAEjEBAAAAKBETAAAAgBIxAQAAACgREwAAAIASMQEAAAAoERMAAACAEjEBAAAAKBETAAAAgBIxAQAAACgREwAAAIASMQEAAAAoERMAAACAkqHJHgCYuma97crJHoEt3PfOnT/ZIwAAMAauTAAAAABKxAQAAACgREwAAAAASsQEAAAAoERMAAAAAErEBAAAAKBETAAAAABKxAQAAACgREwAAAAASsQEAAAAoERMAAAAAErEBAAAAKBETAAAAABKxAQAAACgREwAAAAASsQEAAAAoERMAAAAAErEBAAAAKBETAAANtn111+f1tqj/my11Va5++67kyTXXXddXvWqV+WQQw7JIYcckpe97GX5yle+MsnTAwBVQ5M9AADw2HfRRRdlaGgoM2bMyLbbbvvQ9p/97GfZZ599sssuu+Smm27KS17yklxyySU54ogjkiRXXXVVDjvssCxfvjzDw8OTNT4AUCQmAACbZO3atfnhD3+YO+64I7vuuuvD9h177LF56UtfmiS55JJLMnv27IdCQpIcfvjh2WuvvXLZZZeJCQDwGOI2BwBgk6xevToXXnjhI0LCfffdl6VLl+aYY45JMhIdbrvttqxateph6+6///7MmTNnwuYFADadmAAAbJKddtopO++88yO2X3755Zk3b95D+44//visXr06CxYsyC9+8Yskyec+97nMmjUrCxcunNCZAYBNIyYAAJvFJz7xibz+9a9/6P2+++6bxYsX55prrsmBBx6Yj3/847ntttvy2c9+Nttss80kTgoAVIkJAMC4u+uuu/L1r389r371qx+2/TWveU3e//73Z3h4OMcdd1yWL1+eNWvWTNKUAMBYiQkAwLhbsmRJ5s+fn+233/5h288///zsvPPOueiii7J48eJ86lOfyqGHHprVq1dP0qQAwFiICQDAuFv3Fodk5GsgzznnnCxYsCBJ8rrXvS5LlizJN77xjZx77rmTMSYAMEZiAgAwrm655ZbcfPPNOfzwwx+2fdGiRdljjz2y1Vb/8c+Po446KkcffXSuuOKKiR4TANgEYgIAMK4uvfTSHHPMMdl6660ftn2HHXbIrbfemgcffPBh23fbbbfsuOOOEzkiALCJxAQAYFxdeumlj7jFIUlOPfXU3HPPPTnjjDPSe0+S3HjjjVmyZElOO+20iR4TANgEQ5M9AACw5bj22mtz3333Zd68eY/YN3fu3Hzxi1/M6aefnr333ju77757pk2bliVLluTggw+ehGkBgLESEwCAcXPAAQfk9ttvX+/+Aw88MFdfffUETgQAbA5uc2Czuv7669Nae9SfrbbaKnffffdDa5ctW/aINX/+538+idMDAADwaMZ0ZUJrbSjJ/0jyzSTPS3Jlkr2SPJDkR733b4/bhDymXXTRRRkaGsqMGTOy7bbbPrT9Zz/7WfbZZ5/ssssuD217z3vek2c961kPvW+t5cQTT5zQeQEAANiwsd7mMDfJ2t77l1trz01yeu/9hCRprf2vJKeM14A8dq1duzY//OEPc8cdd2TXXXd92L5jjz02L33pSx96/5WvfCVPf/rTs2zZsokeEwAAgKKx3uZwXZI9W2tHJLk+yZNH7Xtaa2270Ytbaye11la01lasXLlyjKfksWb16tW58MILHxES7rvvvixdujTHHHPMQ9vOPvvsPPOZz8wtt9wy0WMCAABQNNaY8KQkywY/RyfZadS+tu7i3vui3vtw7314+vTpYzwljzU77bRTdt5550dsv/zyyzNv3ryH9q1YsSKf//znc9ZZZ2XOnDmZN29evvnNb070uAAAAGykscaEQ5I82Hv/RUaelzBr1L47e+9rNnUwtlyf+MQnHvb947vssks+/elP5wMf+EDmzZuXf/qnf8pBBx2Uv//7v5/EKQEAAFifscaELybZv7U2L8kzkvyX1tqRrbUXJ7l4vIZjy3PXXXfl61//el796lc/tG327Nk58sgjc8opp2T58uX55Cc/mdZajj/++Nx1112TOC0AAACPZkwPYOy935Pk7MHbLw/+vGFcJmKLtmTJksyfPz/bb7/9ete89rWvzb333puFCxfmM5/5TP7gD/5gAicEAABgQ8Z6ZQKMybq3OKzPCSeckKc97Wm5++67J2AqAAAAKsQEJswtt9ySm2++OYcffvgG17bWsttuu2W//fabgMkAAACoEBOYMJdeemmOOeaYbL311htce/fdd2ennXbKy1/+8gmYDAAAgAoxgQlz6aWXPuotDqecckre+973Zs2akS8B+elPf5ozzzwzH/vYxzI0NKbHegAAALAZ+T81JsS1116b++67L/PmzXvEvmnTpuUv//Iv86EPfSgve9nLMnfu3Lzvfe/LdtttNwmTAgAAsCFiAhPigAMOyO233/6o+84777ycd955EzwRwPrNetuVkz0CW7DvnTt/skcAgE3mNgcAAACgREwAAAAASsQEAAAAoERMAAAAAErEBAAAAKBETAAAAABKxAQAAACgREwAAAAASsQEAAAAoERMAAAAAErEBAAAAKBETAAAAABKhiZ7gMeKWW+7crJHYAv2vXPnT/YIAAAAG82VCQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQMkmxYTW2hNaaweP1zAAAADA1Dc01gNba3sl+b0k57TWnpHkWUkeSPKj3vu3x2k+AAAAYIoZ05UJrbWtk5yb5N2997VJTu69/0Pv/R+TLBzPAQEAAICpZaxXJsxPsizJ3NbasUlmj9r3tNbadr33NZs8HQAAADDljPWZCXslub73fm2S+5O0Ufvauotbaye11la01lasXLlyjKcEAAAApoKxxoTvJdl18Hpakm1H7btz3asSeu+Leu/Dvffh6dOnj/GUAAAAwFQw1phweZJntdbmJbkjycmttSNbay9OcvF4DQcAAABMPWN6ZkLv/VdJzhq8/fLgz9vGZSIAAABgShvrlQkAAADA45SYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSICQAAAECJmAAAAACUiAkAAABAiZgAAAAAlIgJAAAAQImYAAAAAJSI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\n",
      "text/plain": [
       "<Figure size 1296x936 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#填写需要统计的文档\n",
    "pp = Find_word(shanghan1,'shanghan.txt')\n",
    "pp1 = Find_word(yuanjue1,'yuanjue.txt')\n",
    "\n",
    "\n",
    "pp.show()\n",
    "pp1.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在倒是习惯写类了，但不知道这玩意在程序届是如何被看待的。\n",
    "要做到特别精准的文本分析，还是要人手工整理好一个文本，比如伤寒论，光查“桂枝汤”是不能精准统计出桂枝汤在伤寒论出现的次数的，因为张仲景写的时候，经常带到桂枝汤这个词，但并不是这里真的用到了桂枝汤。\n",
    "\n",
    "还有很多类似的地方，如果要超级精准，就要手工准备材料。\n",
    "但如果只是看一个方向，那没有任何问题。\n",
    "\n",
    "接下来的打算是，先回到游戏那里把合成系统用pandas给做出来。\n",
    "然后换换脑子的时候回来手工整理各种伤寒论的材料。\n",
    "\n",
    "非常好奇一个数据化的伤寒论是啥样的。\n",
    "利用西方的科技窥视张仲景大大的心法，实在是有趣。\n",
    "\n",
    "随后很想弄一下djongo，看一下python做web啥感觉。\n",
    "把上面这个程序做成一个web app，自己以后也方便用。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2018.11.10\n",
    "应该是过了两天\n",
    "这两天的收获特别大,现在是决心用整个伤寒论来做程序的练手,同时争取把伤寒的心法也拿到手,因为也必须有这个\n",
    "\n",
    "主要就是接触了json,之前用csv的局限太大,因为伤寒的数据结构非常复杂,查了半天就是json合适\n",
    "架构了第一版json数据结构,填进去一些伤寒的数据,实验一下子,而且学了一些高级的pandas的用法\n",
    "\n",
    "今天初步做出了一个核心功能,就是根据证来下药.\n",
    "是这样实现的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "sh1 = pd.read_json('SH_ty1.json')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Shanghan():\n",
    "    def __init__(self):\n",
    "        pass\n",
    "        \n",
    "        \n",
    "    def bianzheng(self,zheng):#根据证输出对应方剂(简单根据伤寒的对应,而非根据心法)\n",
    "        self.zheng = zheng\n",
    "        n = 0\n",
    "        flag = False\n",
    "        for x in range(sh1.shape[1]):#一共有多少方剂,所有循环一遍\n",
    "            a = pd.Series(sh1.iloc[3]['桂枝汤':][x]['体证'])#从桂枝汤(第一个)往下的所有症状给做成一个series,方便用其功能\n",
    "            if a.isin(self.zheng).sum() > 1:\n",
    "                print(sh1.columns[x])\n",
    "            #elif a.isin(self.zheng).sum() == 1:#如果大于1,那么就是对上证\n",
    "                #print(sh1.columns[x])#显示是哪个经方\n",
    "                \n",
    "    def find(self,find):#简单查询某一个方剂的信息\n",
    "        self.find = find\n",
    "        print(sh1[self.find])\n",
    "        \n",
    "    def count_all(self):#可以查询每个方剂或药物在整个伤寒里的统计\n",
    "        pass\n",
    "    \n",
    "    def draw_dir(self):#画每一个方剂的方向图\n",
    "        pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "b1 = Shanghan()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "桂枝加葛根汤\n"
     ]
    }
   ],
   "source": [
    "b1.bianzheng(['肌肉酸痛','怕风'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "桂枝汤\n"
     ]
    }
   ],
   "source": [
    "b1.bianzheng(['干呕','头痛'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "桂枝加附子汤\n"
     ]
    }
   ],
   "source": [
    "b1.bianzheng(['怕风','小便难'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "今天的一个想法,也算是往后一个比较系统的想法\n",
    "第一,探讨伤寒论是不是有当时当地的时效性,也就是,如果张仲景活人来到了现代,让他再写一个伤寒论(当然名字可能都不会是伤寒了),他是否会根据现代的情况而新写一个著作\n",
    "我个人觉得是非常有可能的,地域,时间,不同时代人的生活方式,都会有影响\n",
    "比如现代致死的最大疾病已经不是伤寒了,而且一些慢性病,那么张仲景也会根据现代人的情况而出他的书\n",
    "\n",
    "第二, 希望通过药物方向以及对应的病人疾病方向得出核心算法,然后不让程序读任何伤寒论的数据,只是根据核心算法,面对同一个病人,看这个纯用算法的程序给出的药是否和张仲景的一致.如果真的可以做到一致,那么基本可以说是拿到了张仲景的致病心法\n",
    "\n",
    "第三,通过程序数据分析,以及自己体悟如果拿到伤寒论的核心算法(张仲景看病开药心法),那么如果再通过机器学习(掌握现代病人数据),让机器通过海量学习+张仲景核心算法,那么理论上这个机器可以自己给出一个伤寒的现代版,就好比是张仲景穿越回来写书一样.\n",
    "\n",
    "如果这三个问题都解决了,是否意味着,这个程序真的可以代表张仲景给现代人看病呢?\n",
    "\n",
    "根本无需任何昂贵仪器,就用古法看诊,也就是问证,患者只需要填写自己的证,那么经过计算,就会给出准确结果(开药).\n",
    "\n",
    "这想法是不是太胡扯了?\n",
    "\n",
    "不知道,先一点一点实践出来,看看结果再说.\n",
    "\n",
    "还有一个想法.\n",
    "\n",
    "关于获取伤寒论数据的意义.\n",
    "\n",
    "至少要获得两组数据,并且重组,用其画出所谓方向图.\n",
    "\n",
    "第一,经方药物配伍数据,给出药物配伍的方向图\n",
    "\n",
    "第二,患者证的数据,绘制出证的方向图\n",
    "\n",
    "这两个方向胡应该是有一个非常对应的关系,从中找到其关系,摸出算法,就是一个破解伤寒论的核心问题.\n",
    "\n",
    "这个基本上是一个老祖宗设计的最好的游戏核心玩法了,没有比这个更好玩的了.\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
